1 using System;
2 using System.Collections.Generic;
3 using System.ComponentModel;
4 using System.Data;
5 using System.Drawing;
6 using System.Linq;
7 using System.Text;
8 using System.Threading.Tasks;
9 using System.Windows.Forms;
10
11 namespace SoftQuanLyNhaHang.Views
12 {
13 public partial class frmKhachHang : Form
14 {
15 private double _getTongTien;
16 private int _getIdKhachHang;
17 private string _getSoDienThoai;
18
19 public frmKhachHang()
20 {
21 InitializeComponent();
22 //ẩn các ô textbox khi load form
23 //this.formNhap(false);
24 }
25
26 string _tenKhachHang = "0";
27 string _soDienThoai = "0";
28 string _diaChi = "0";
29 int _trangThai = 0;
30 double _diemTichLuy = 0;
31
32 double _tongTien = 0;
33 double _tienKhach = 0;
34 double _tienTraLai = 0;
35
36 DateTime _ngayMuaHang = DateTime.Now;
37 string _ghiChu = "";
38 string _TrangThaiGiaoDich = string.Empty;
39
40 int _pageSize = 30;
41 int _pageIndex = 1;
42 int _tongSoBanGhi = 0;
43 int _stt = 0;
44
45 DataTable dt = new DataTable();
46
47 //-http://diendan.congdongcviet.com/threads/t12606::cach-dung-delegate-trong-lap-trinh-csharp.cpp
48 //Khai báo 1 hàm delegate
49 //public delegate void GetString_ThongTinKhachHang(string hovaten, string sodienthoai, string diachi, string ghichu, double diemtichluy, bool btnTrangThai);
50 public delegate void GetString_ThongTinKhachHang(int idKhachHang, bool btnTrangThai, string tienkhachdua);
51 //Khai báo 1 kiểu hàm delegate
52 public GetString_ThongTinKhachHang MyGetData_TTKH;
53
54
55 private void frmKhachHang_Load(object sender, EventArgs e)
56 {
57 this.DanhSachKhachDatTraHang();
58
59 txtMaDonHang.Text = _getIdKhachHang.ToString();
60
61 //hiển thị thông tin khách hàng
62 DataTable dtKh = new DataTable();
63
64 dtKh = Controllers.KhachHangCtrl_tbl.FillDataSet_getsId_SDT(_getIdKhachHang, _getSoDienThoai).Tables[0];
65
66 if (dtKh.Rows.Count > 0)
67 {
68 double dtl = CauHinhHeThong.TinhDiemTichLuy(_getTongTien);
69
70 //txtDiemTichLuy.Text = CauHinhHeThong.Format_SoDeHienThi(dtl, true);// string.Format("{0:#,#}", _diemTichLuy + _getTongTien);
71
72 txtHoVaTen.Text = dtKh.Rows[0]["TenKhachHang"].ToString();
73 txtDiaChi.Text = dtKh.Rows[0]["DiaChi"].ToString();
74 txtGhiChu.Text = dtKh.Rows[0]["GhiChu"].ToString();
75 txtSoDienThoai.Text = dtKh.Rows[0]["SoDienThoai"].ToString();
76 }
77 }
78
79 public frmKhachHang(double tongThanhToan, int idkhachang, string sodienthoai) : this()
80 {
81 _getTongTien = tongThanhToan;
82 _getIdKhachHang = idkhachang;
83 _getSoDienThoai = sodienthoai;
84 }
85
86 private void formNhap(bool e)
87 {
88 //btnLuu.Enabled = e;
89 //txtHoVaTen.Enabled = e;
90 //txtGhiChu.Enabled = e;
91 //txtDiaChi.Enabled = e;
92 }
93
94 private void btnLuu_Click(object sender, EventArgs e)
95 {
96
97 //if (!string.IsNullOrEmpty(txtHoVaTen.Text.Trim()) && !string.IsNullOrEmpty(txtSoDienThoai.Text.Trim()))
98 //{
99 _tenKhachHang = txtHoVaTen.Text.Trim();
100 _soDienThoai = txtSoDienThoai.Text.Trim();
101 _diaChi = txtDiaChi.Text.Trim();
102 _ghiChu = txtGhiChu.Text.Trim();
103
104 _tongTien = _getTongTien;// CauHinhHeThong.Format_SoDeTinhToan(_getTongTien.ToString());// string.Format("{0:#,#}", _getTongTien);
105
106 //double dtl = CauHinhHeThong.Format_SoDeTinhToan(txtDiemTichLuy.Text.Trim(),true);
107
108 //Điểm tích lũy = điểm tích lũy + tổng tiền
109 // _diemTichLuy = dtl;// _diemTichLuy + (int)_getTongTien;
110 _tienKhach = CauHinhHeThong.Format_SoDeTinhToan(txtTienKhach.Text.Trim(), true);
111
112 Controllers.KhachHangCtrl_tbl.UpdateKhachHang_tbl(_getIdKhachHang, _tenKhachHang, _soDienThoai, _diaChi, _trangThai, _diemTichLuy, _tongTien, _tienKhach, _tienTraLai, _ngayMuaHang, _ghiChu, _TrangThaiGiaoDich);
113
114 if (MyGetData_TTKH != null)
115 {
116 //tại đây gọi nó; tiền khách, số điện thoại, địa chỉ, ghi chú, điểm tích lũy
117 MyGetData_TTKH(_getIdKhachHang, true, txtTienKhach.Text.Trim());
118 }
119
120 this.Close();
121 /*
122 }
123 else
124 {
125 if(string.IsNullOrEmpty(txtSoDienThoai.Text.Trim())){
126 MessageBox.Show("Bạn chưa nhập số điện thoại");
127 }
128
129 if (string.IsNullOrEmpty(txtHoVaTen.Text.Trim()))
130 {
131 MessageBox.Show("Bạn chưa nhập tên khách hàng");
132 }
133 }
134 */
135 }
136
137 private void btnHuy_Click(object sender, EventArgs e)
138 {
139 if (MyGetData_TTKH != null)
140 {
141 //tại đây gọi nó; tiền khách, số điện thoại, địa chỉ, ghi chú, điểm tích lũy
142 MyGetData_TTKH(0, false, txtTienKhach.Text.Trim());
143 }
144
145 this.Close();
146
147 this.Close();
148 }
149
150 private void txtSoDienThoai_KeyPress(object sender, KeyPressEventArgs e)
151 {
152
153 }
154
155 private void HienThiThongTin()
156 {
157 //if (string.IsNullOrEmpty(txtSoDienThoai.Text.Trim()))
158 //{
159 // return;
160 //}
161
162 //this.formNhap(true);
163
164 DataTable dtKh = new DataTable();
165
166 //int idKhTk = CauHinhHeThong.Format_SoDeTinhToan()
167
168 //lấy điểm tích lũy theo số điện thoại
169 //dtKh = Controllers.KhachHangCtrl_tbl.FillDataSet_getsId_SDT(0, txtSoDienThoai.Text.Trim()).Tables[0];
170 dtKh = Controllers.KhachHangCtrl_tbl.FillDataSet_getIdKh_TimKiem(txtMaDonHang.Text.Trim(), txtSoDienThoai.Text.Trim(), txtHoVaTen.Text.Trim()).Tables[0];
171 if (dtKh.Rows.Count > 0)
172 {
173 double dtl = CauHinhHeThong.TinhDiemTichLuy(_getTongTien);
174
175 //txtDiemTichLuy.Text = CauHinhHeThong.Format_SoDeHienThi(dtl, true);// string.Format("{0:#,#}", _diemTichLuy + _getTongTien);
176 _getIdKhachHang = Int32.Parse(dtKh.Rows[0]["IdKhachHang"].ToString());
177 txtTienKhach.Text = CauHinhHeThong.Format_SoDeHienThi(CauHinhHeThong.Format_SoDeTinhToan(dtKh.Rows[0]["TienKhach"].ToString(),false) ,true);
178 txtMaDonHang.Text = dtKh.Rows[0]["IdKhachHang"].ToString();
179 txtHoVaTen.Text = dtKh.Rows[0]["TenKhachHang"].ToString();
180 txtDiaChi.Text = dtKh.Rows[0]["DiaChi"].ToString();
181 txtGhiChu.Text = dtKh.Rows[0]["GhiChu"].ToString();
182 txtSoDienThoai.Text = dtKh.Rows[0]["SoDienThoai"].ToString();
183
184 _TrangThaiGiaoDich = dtKh.Rows[0]["TrangThaiGiaoDich"].ToString();
185 }
186 else
187 {
188 _getIdKhachHang = (int)CauHinhHeThong.Format_SoDeTinhToan(txtMaDonHang.Text.Trim(),true);
189 txtTienKhach.Text = "";
190 //txtMaDonHang.Text = dtKh.Rows[0]["IdKhachHang"].ToString();
191 txtHoVaTen.Text = "";
192 txtDiaChi.Text = "";
193 txtGhiChu.Text = "";
194 txtSoDienThoai.Text = "";
195
196 _TrangThaiGiaoDich = "MuaHangMoi";
197 }
198 }
199
200 private void txtSoDienThoai_KeyDown(object sender, KeyEventArgs e)
201 {
202 if (e.KeyCode == Keys.Enter)
203 {
204 //Ấn enter không có tiếng kêu
205 e.SuppressKeyPress = true;
206
207
208 this.HienThiThongTin();
209 /*
210 //Kiểm tra đã tồn tại kh chưa?
211 if (dtKh.Rows.Count > 0)
212 {
213 if (Int32.Parse(dtKh.Rows[0]["TrangThai"].ToString()) == 1)
214 {
215 _diemTichLuy = CauHinhHeThong.Format_SoDeTinhToan(dtKh.Rows[0]["DiemTichLuy"].ToString());
216 }
217 else
218 {
219 _diemTichLuy = 0;
220 }
221
222 double tongdiemtichluy = _diemTichLuy + CauHinhHeThong.TinhDiemTichLuy(_getTongTien);
223
224 txtDiemTichLuy.Text = CauHinhHeThong.Format_SoDeHienThi(tongdiemtichluy, true);// string.Format("{0:#,#}", _diemTichLuy + _getTongTien);
225
226 txtHoVaTen.Text = dtKh.Rows[0]["TenKhachHang"].ToString();
227 txtDiaChi.Text = dtKh.Rows[0]["DiaChi"].ToString();
228 txtGhiChu.Text = dtKh.Rows[0]["GhiChu"].ToString();
229 }
230 else
231 {
232 txtDiemTichLuy.Text = CauHinhHeThong.Format_SoDeHienThi(_getTongTien, true);// string.Format("{0:#,#}", _getTongTien);
233 _diemTichLuy = 0;
234 }
235
236 */
237
238 }
239 }
240
241 private void btnTimKiem_Click(object sender, EventArgs e)
242 {
243 this.HienThiThongTin();
244 }
245
246 private void DanhSachKhachDatTraHang()
247 {
248 dgvDsDatTraHang.Rows.Clear();
249 //Ẩn cột đầu tiên
250 dgvDsDatTraHang.RowHeadersVisible = false;
251 //-https://stackoverflow.com/questions/17404969/right-align-a-column-in-datagridview-doesnt-work
252 this.dgvDsDatTraHang.Columns["STT"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
253 this.dgvDsDatTraHang.Columns["STT"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
254 //this.dgvDsDatTraHang.Columns["STT"].SortMode = DataGridViewColumnSortMode.NotSortable;
255
256 this.dgvDsDatTraHang.Columns["NgayTao"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
257 this.dgvDsDatTraHang.Columns["NgayTao"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
258
259 this.dgvDsDatTraHang.Columns["TrangThai"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
260 this.dgvDsDatTraHang.Columns["TrangThai"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
261
262 this.dgvDsDatTraHang.Columns["TienKhach"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight;
263 this.dgvDsDatTraHang.Columns["TienKhach"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;
264
265
266 DataTable dtDs = new DataTable();
267
268 dtDs = Controllers.KhachHangCtrl_tbl.FillDataSet_KhachHang_DatTraHang().Tables[0];
269
270 foreach (DataRow item in dtDs.Rows)
271 {
272 _stt += 1;
273 int n = dgvDsDatTraHang.Rows.Add();
274
275 dgvDsDatTraHang.Rows[n].Cells["IdKhachHang"].Value = item["IdKhachHang"].ToString();
276
277 dgvDsDatTraHang.Rows[n].Cells["STT"].Value = _stt.ToString();
278
279 dgvDsDatTraHang.Rows[n].Cells["HoVaTen"].Value = item["TenKhachHang"].ToString();
280
281 dgvDsDatTraHang.Rows[n].Cells["SoDienThoai"].Value = item["SoDienThoai"].ToString();
282
283 dgvDsDatTraHang.Rows[n].Cells["NgayTao"].Value = CauHinhHeThong.Format_HienThiNgayThangNam(item["NgayMuaHang"].ToString(), false);
284
285 dgvDsDatTraHang.Rows[n].Cells["TienKhach"].Value = CauHinhHeThong.Format_SoDeHienThi(CauHinhHeThong.Format_SoDeTinhToan(item["TienKhach"].ToString(), false), true);
286
287 string ttGd = "Đặt Hàng";
288
289 if (item["TrangThaiGiaoDich"].ToString() == "TraHang")
290 {
291 ttGd = "Trả hàng";
292 }
293
294 dgvDsDatTraHang.Rows[n].Cells["TrangThai"].Value = ttGd;// item["TrangThaiGiaoDich"].ToString();
295
296 }
297 }
298 }
299 }